<!DOCTYPE html>
<html>
<head>
<title>TXT小说下载</title>
<meta charset="UTF-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
</head>
<body>

<div class="container">
<h2>TXT小说下载</h2>

<form id="apiForm">
  <label for="url">API:</label><br>
  <select id="urlSelect" name="urlSelect" onchange="urlChange()">
    <option value="http://49.235.159.169:5000/api">官方测试API：49.235.159.169</option>
    <option value="http://118.195.158.24:5000/api">臭鼬提供API：118.195.158.24</option>
    <option value="http://localhost:5000/api">本地API：localhost</option>
    <option value="custom">自定义</option>
    <!-- 在这里添加更多的选项 -->
  </select><br>
  <input type="text" id="url" name="url" style="display:none;" placeholder="请输入自定义API地址">
  <label for="class">类别:</label><br>
  <select id="class" name="class">
    <option value="add">添加</option>
    <option value="query">查询</option>
    <!-- 在这里添加更多的选项 -->
  </select><br>
  <label for="id">书籍ID:</label><br>
  <input type="text" id="id" name="id"><br>
  <input type="submit" value="提交">
  <div id='output'>
    <p><b>结果:</b></p>
    <p id="result"></p>
  </div>
</form>

<p>此页面是番茄小说下载项目API模式的调用实例<br>（官方测试API和其它API除下载地址不同没有任何区别）</p>
<p>项目地址：https://github.com/xing-yv/fanqie-novel-download<br>Gitee：https://gitee.com/xingyv1024/fanqie-novel-download</p>
<p>使用教程：<br>1.在API URL里填入你获取或自建的API地址<br>2.选择是添加下载列表还是查询下载状态<br>3.在书籍ID里填入你要下载或查询的书籍的ID（如何获取见下文）<br>4.点击“提交”，等待API服务告诉你是否添加至下载列表或者查询到的信息<br>5.获取下载的书籍（见下文）</p>

<div>
<p>如何获取书籍ID：<br>
电脑端：<br>在书籍目录页复制网址<br>网址中“/page/”后的一串数字即为书籍ID（问号前）<br>
手机端：<br>分享书籍并复制链接<br>链接中“book_id=”后的一串数字即为书籍ID</p>
</div>

<p>如何获取下载好的文件：</p>
<p id="selectedUrl" >您选择了“官方API”，请到 <a href="http://49.235.159.169">http://49.235.159.169</a> 下载</p>


<p>© 2023 星隅 (xing-yv, shingyu). 版权所有。</p>

<script>
  function urlChange() {
    var select = document.getElementById('urlSelect');
    var input = document.getElementById('url');
    var p = document.getElementById('selectedUrl');
    var value = select.value;
    if (value === 'http://49.235.159.169:5000/api') {
      input.style.display = 'none';
      input.value = value;
      p.innerHTML = '您选择了“官方测试API”，请到 <a href="http://49.235.159.169">http://49.235.159.169</a> 下载';
    } else if (value === 'http://118.195.158.24:5000/api') {
      input.style.display = 'none';
      input.value = value;
      p.innerHTML = '您选择了 @臭鼬 提供的API，请到 <a href="http://118.195.158.24:5244/">http://118.195.158.24:5244/</a> 下载<br>咨询QQ群：876732820';
    } else if (value === 'http://localhost:5000/api') {
      input.style.display = 'none';
      input.value = value;
      p.innerHTML = '您选择了“本地API”，请到API程序文件夹下output文件夹中寻找';
    } else if (value === 'custom') {
      input.style.display = 'block';
      input.value = ''; // 将输入框的值设置为空字符串
      p.innerHTML = '您选择了自定义API：<br>如果您使用别人提供的API：请向提供者咨询<br>如果您自建API，请到API程序文件夹下output文件夹中寻找';
    } else {
      input.style.display = 'none';
      input.value = value;
      p.innerHTML = '如果您使用别人提供的API：请向提供者咨询<br>如果您自建API，请到API程序文件夹下output文件夹中寻找' ;
    }
  }
</script>


<script>
  document.getElementById('apiForm').onsubmit = function(e) {
  e.preventDefault();

  var url = document.getElementById('url').value;

  var data = {
    action: document.getElementById('class').value,
    id: document.getElementById('id').value
  };

  var xhr = new XMLHttpRequest();
  xhr.open('POST', url, true);
  xhr.setRequestHeader('Content-Type', 'application/json');
  xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
      var responseText = xhr.responseText;
      try {
        responseText = JSON.stringify(JSON.parse(responseText), null, 2);
      } catch(e) {}
      document.getElementById('result').innerText = '状态码：' + xhr.status + '，返回信息：' + responseText;
    }
  };
  xhr.onerror = function(e) {
    document.getElementById('result').innerText = '网络错误，无法连接到服务器，错误信息：' + e.error;
  };
  xhr.send(JSON.stringify(data));
};


if (window.addEventListener) {
  window.addEventListener('load', urlChange);
} else if (window.attachEvent) {
  window.attachEvent('onload', urlChange);
}
</script>



</div>

</body>
</html>
